iT邦幫忙

2023 iThome 鐵人賽

DAY 7
0
Software Development

FooTinder App - 美食餐廳 x 推薦地圖系列 第 7

Day 07, [軟體開發] 技術選型各司其職 (12/03)

  • 分享至 

  • xImage
  •  

關於技術選型

  • 多數人對於特定的語言或技術都有直觀的標籤

    • Laravel、RoR 適合作 AAA
    • Java、.NET 適合做 BBB
  • 這邊我想分享的是不要只看別人選的結果,儘量加入那些選擇時的 Context,省思他的過程,很多時候在合適的 Context 下,看起來不合理的選擇也是合理的。

  • 下面就來分享我們的技術棧

  • Frontend

    • Web & Mobile Web (Next.js, TypeScript)
    • iOS & Android App (Flutter, Dart)
    • CMS (Strapi, TypeScript)
  • Backend

    • API Service (Spring Framework, Kotlin)
    • Data Service (FastAPI, Python)
  • Database

    • PostgreSQL (CMS)
    • MongoDB (Backend)
    • Elasticsearch (Search Engine)
  • DevOps

    • Grafana Stack (Grafana, Prometheus, Loki)

所以為什麼要這樣選?

  • Frontend
    • Web & Mobile Web
      • 其實三大框架都可以,單純選一個我們熟悉的
    • iOS & Android App
      • 在人力和技術資源有限的情況下,一次做雙平台相對兩個平台分開開發會好一點
      • RN 也行,不過當時我們的夥伴想嘗試 Flutter
    • CMS
      • 這個的選擇也非常多,畢竟是非常成熟的領域,我們就 Headless CMS 選一個順手的
  • Backend
    • API Service
      • 前後端分離的前提下,選用本人的看家本領很合理吧
    • Data Service
      • Python 之於 Data,依舊也是合理的選擇
  • Database
    • PostgreSQL
      • Strapi 可以搭配非常多 RDBMS,也可以用海豚。不過因為別的系統在用大象,一起用方便管理
    • MongoDB
      • 在快速迭代的時候,Schemaless 的資料庫會方便一點,而因為這次也有用大量 GEO 的操作,所以就選擇了 MongoDB,未來也是有可能會回到 PostGIS
    • Elasticsearch
      • 我們有搜尋引擎相關功能,這個選擇毫無爭議
  • DevOps
    • Grafana Stack
      • 如果是免費的 Stack,多半是 Elastic Stack 跟他二選一,選這個也是單純本人熟悉

✌️ 那麼第七天到這邊囉,明天來講 -> 急行軍的迭代

相關資訊


上一篇
Day 06, [產品開發] 最小可行性產品,Minimum Viable Product
下一篇
Day 08, [產品開發] 急行軍的迭代 (12/02)
系列文
FooTinder App - 美食餐廳 x 推薦地圖30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言